As the number of channels available to television viewers has increased, along with the diversity of the programming content available on such channels, it has become increasingly challenging for television viewers to identify television programs of interest. Electronic Program Guides (EPGs) identify available television programs, for example, by title, time, date and channel, and facilitate the identification of programs of interest by permitting the available television programs to be searched or sorted in accordance with personalized preferences.
A number of recommendation tools have been proposed or suggested for recommending television programs and other items of interest. Television program recommendation tools, for example, apply viewer preferences to an EPG to obtain a set of recommended programs that may be of interest to a particular viewer. Generally, television program recommendation tools obtain the viewer preferences using implicit or explicit techniques, or using some combination of the foregoing. Implicit television program recommendation tools generate television program recommendations based on information derived from the viewing history of the viewer, in a non-obtrusive manner. Explicit television program recommendation tools, on the other hand, explicitly question viewers about their preferences for program attributes, such as title, genre, actors and channel, to derive viewer profiles and generate recommendations.
While such recommendation tools can effectively identify items of interest, they suffer from a number of limitations, which, if overcome, could greatly improve the performance and reliability of such recommendation tools. In particular, it has been observed that different recommendation tools will generally provide significantly different recommendations for the same data set, such as a listing of the available programs on a given evening. Thus, if a user employed three different recommendation tools to a listing of the available programs on a given evening, the user would likely get three different sets of recommendations. The differences in the generated recommendations are due to different recommendation tools using different, often complementary, information. For example, the explicit information obtained from a given user is substantially different from the implicit information ascertained from the user's viewing history. In addition, different recommendation mechanisms typically have their own biases.
A need therefore exists for a method and apparatus for generating reliable recommendations that take advantage of the recommendations generated by a number of different recommendation tools. A further need exists for a method and apparatus for generating recommendations based on the recommendations of a number of different recommendation tools.